from pydantic import BaseModel
from typing import Optional

# 创建 Todo 时的基础模型 (用于请求体)
class TodoBase(BaseModel):
    title: str
    description: Optional[str] = None

# 更新 Todo 时的模型 (用于请求体)
class TodoUpdate(BaseModel):
    title: Optional[str] = None
    description: Optional[str] = None
    completed: Optional[bool] = None

# 从数据库读取 Todo 时使用的模型 (用于响应体)
class Todo(TodoBase):
    id: int
    completed: bool

    class Config:
        from_attributes = True